std::is_array

From Cppreference

Jump to: navigation, search
Defined in header <type_traits>

template< class T >
struct is_array;
(since C++11)

If T is an array type, provides the member constant value equal true. For any other type, value is false.

Contents

Inherited from std::integral_constant

Member constants

value
[static]
true if T is an array type , false otherwise
(public static member constant)

Member functions

operator bool
converts the object to bool, returns value
(public member function)

Member types

Type Definition
value_type bool
type std::integral_constant<bool, value>

[edit] Equivalent definition

[edit] Example

#include <iostream>
#include <type_traits>
 
class A {};
 
int main() 
{
    std::cout << std::boolalpha;
    std::cout << std::is_array<A>::value << '\n';
    std::cout << std::is_array<A[3]>::value << '\n';
    std::cout << std::is_array<float>::value << '\n';
    std::cout << std::is_array<int>::value << '\n';
    std::cout << std::is_array<int[3]>::value << '\n';
}

Output:

false
true
false
false
true

[edit] See also

(C++11)
obtains the number of dimensions of an array type
(class template)
(C++11)
obtains the size of an array type along a specified dimension
(class template)
removes one extent from the given array type
(class template)
removes all extents from the given array type
(class template)
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox
In other languages